package com.chen.service;


import com.baomidou.mybatisplus.extension.service.IService;
import com.chen.pojo.common.PageResult;
import com.chen.pojo.dto.LoginDto;
import com.chen.pojo.dto.UserDto;
import com.chen.pojo.entry.User;
import com.chen.pojo.vo.LoginUserVo;
import com.chen.pojo.vo.TaskWorkVo;
import com.chen.pojo.vo.UserInfoVo;
import com.chen.pojo.vo.UserVo;

import java.util.List;

/**
 * @author chen
 * @version 1.0
 * @date 2025/8/15
 * 登录业务接口
 */
public interface UserService extends IService<User> {
    /**
     * 登录
     *
     * @param dto 登录信息
     * @return 结果
     */
    LoginUserVo login(LoginDto dto);

    /**
     * 分页查询
     *
     * @param pageIndex 起始页
     * @param pageSize  页大小
     * @param userName  用户名
     * @return 结果
     */
    PageResult<UserVo> searchList(Integer pageIndex, Integer pageSize, String userName);

    /**
     * 新增人员
     *
     * @param userDto 人员信息
     * @return 结果
     */
    Boolean addUser(UserDto userDto);

    /**
     * 修海人员信息
     *
     * @param userId  人员id
     * @param userDto 人员信息
     * @return 结果
     */
    Boolean updateUser(Integer userId, UserDto userDto);

    /**
     * 删除人员信息
     *
     * @param userId 人员id
     * @return 结果
     */
    Boolean deleteUser(Integer userId);

    List<UserVo> getUserByInnerCode(String innerCode);

    PageResult<TaskWorkVo> searchUserWork(Integer pageIndex, Integer pageSize, String userName, Boolean isRepair);

    UserInfoVo getUserInfoById(Integer userId);
}
